/**
 * 用户组织机构单位管理
 */

Ext.define('ProdType', {
			extend : 'Ext.data.Model',
			fields : [{
						name : 'name',
						type : 'string'
					}]
		});
var prodTypeStore = Ext.create('Ext.data.TreeStore', {
			fields : ['id', 'name'],
			proxy : {
				type : 'ajax',
				url : 'ptManageAction!getTreeBypid.action'
			},
			root : {
				id : 0,
				name : '根目录',
				expanded : true
			},
			reader : {
				type : 'json'
			}
		});
prodTypeStore.load();
ptPicker = {
	id : 'ptManage.tempid',
	fieldLabel : '上层类别<font color=red>*</font>',
	xtype : 'treepicker',
	store : prodTypeStore,
	displayField : 'name',
	valueField : 'id'
};
// 数据列表store
var store = Ext.create('Ext.data.TreeStore', {
			model : 'ProdType',
			proxy : {
				type : 'ajax',
				url : 'ptManageAction!queryTree.action',
				reader : {
					type : 'json',
					root : 'list'
				}
			}
		});
var grid = Ext.create('Ext.tree.Panel', {
			store : store,
			useArrows : true,
			root : {
				id : 0,
				name : "根目录",
				expanded : true
			},
			rootVisible : false,
			renderTo : Ext.getBody(),
			border : 0,
			listeners : {
				itemclick : function(view, record, item, index, event, opts) {
				}
			},
			columns : [{
						xtype : 'treecolumn',
						text : '产品类别名称',
						sortable : false,
						flex : 1,
						dataIndex : 'name'
					}],
			tbar : [{
				xtype : 'button',
				text : '新增',
				iconCls : 'icon-add',
				handler : function() {
					ptWin.setTitle('新增');
					var selMode = grid.getSelectionModel();
					var model = selMode.getSelection();
					ptWin.show();
					prodTypeStore.load();
					if (model.length != 0) {
						var raw = model[0].raw;
						ptForm.getForm().findField('ptManage.tempid')
								.setValue(raw.id);
					} else {
						ptForm.getForm().findField('ptManage.tempid')
								.setValue(0);
					}
				}
			}, {
				xtype : 'button',
				text : '修改',
				iconCls : 'icon-edit',
				handler : function() {
					var selMode = grid.getSelectionModel();
					var model = selMode.getSelection();
					if (model.length > 0) {
						var raw = model[0].raw;
						ptWin.setTitle('修改');
						ptWin.show();
						prodTypeStore.load();
						ptForm.getForm().findField('ptManage.tempid')
								.setValue(raw.pid);
						ptForm.getForm().findField('ptManage.id')
								.setValue(raw.id);
						ptForm.getForm().findField('ptManage.pid')
								.setValue(raw.pid);
						ptForm.getForm().findField('ptManage.name')
								.setValue(raw.name);
						ptForm.getForm().findField('ptManage.leaf')
								.setValue(raw.leaf);
					} else {
						Ext.Msg.alert('提示', '请选择要修改的数据行！');
					}

				}
			}]
		});

var ptForm = Ext.create('Ext.form.Panel', {
			bodyPadding : 5,
			border : 0,
			defaults : {
				border : false
			},
			url : 'ptManageAction!saveOrUpdate.action',
			items : [{
						defaultType : 'textfield',
						defaults : {
							layout : 'anchor',
							anchor : '90%',
							labelAlign : 'left',
							labelWidth : 90
						},
						items : [{
									xtype : 'hiddenfield',
									name : 'ptManage.id'
								}, {
									fieldLabel : '产品类别名称<font color=red>*</font>',
									name : 'ptManage.name',
									allowBlank : false
								}, {
									id : 'ptManage.tempid',
									fieldLabel : '上级类别<font color=red>*</font>',
									xtype : 'treepicker',
									store : prodTypeStore,
									displayField : 'name',
									valueField : 'id'
								}, {
									xtype : 'fieldcontainer',
									fieldLabel : '是否叶子节点<font color=red>*</font>',
									defaultType : 'radiofield',
									layout : 'vbox',
									items : [{
												boxLabel : '是',
												name : 'ptManage.leaf',// 是叶子节点
												inputValue : 'true',
												checked : true
											}, {
												boxLabel : '否',
												name : 'ptManage.leaf',
												inputValue : 'false'
											}]
								}, {
									xtype : 'hiddenfield',
									name : 'ptManage.pid'
								}]
					}]
		});

var ptWin = Ext.create('Ext.window.Window', {
			title : '修改',
			width : 300,
			modal : true,
			layout : 'fit',
			closeAction : 'hide',
			closable : true,
			items : [ptForm],
			listeners : {
				show : function() {
					ptForm.getForm().reset();
				}
			},
			buttonAlign : 'center',
			buttons : [{
						text : '保存',
						formBind : true,
						// disabled : true,
						handler : function() {
							var form = ptForm.getForm();
							var tempid = form.findField('ptManage.tempid')
									.getValue();
							form.findField('ptManage.pid').setValue(tempid);
							form.submit({
										success : function(form, action) {
											var refreshNode = store
													.getRootNode();
											store.load({
														node : refreshNode
													});
											ptWin.hide();
										}
									});
						}
					}, {
						text : '取消',
						handler : function() {
							ptWin.hide();
						}
					}]
		});

// ***********************新增、修改结束**************************************

Ext.onReady(function() {
			Ext.create('Ext.container.Viewport', {
						layout : 'fit',
						items : [grid]
					});
		});
